Voter ID Verification API
API Description
Objective
The Voter ID Verification API searches for a matching Voter ID record as a verification step and provides the details of the customer from the same record. It verifies the details against the central database maintained by the Election Commission of India (ECI).
| Input | Output |
|---|---|
| The Electoral Photo Identity Card (EPIC) Number. | The complete details of the customer from their Voter ID card. |
API URL
https://ind-verify.hyperverge.co/api/checkVoterId
Overview
The API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format and you should upload all images and files as form-data through a POST request.
Authentication
You need a unique pair of application ID ( appId ) and application key (appKey) from HyperVerge to verify your identity for accessing the API.
API Request Details
Method - POST
Headers
| Parameter | Mandatory or Optional | Type | Description | Valid Values |
|---|---|---|---|---|
content-type | Mandatory | string | This parameter defines the media type for the request payload. | application/json |
appId | Mandatory | string | The application ID shared by HyperVerge | Not Applicable - this is a unique value. |
appKey | Mandatory | string | The application key shared by HyperVerge | Not Applicable - this is a unique value. |
transactionId | Mandatory | string | The unique ID for the customer journey. | Not Applicable - this is a unique value related to a transaction in your application. |
Input
The following table provides the complete information on the parameters used in the request body for the API call.
| Parameter | Mandatory or Optional | Type | Description |
|---|---|---|---|
epicNumber | Mandatory | string | The 10-digit alphanumeric EPIC Number printed on the front side of the Voter ID Card. |
Sample Request
The following code shows a standard curl request for the API.
curl --location --request POST 'https://ind-verify.hyperverge.co/api/checkVoterId' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"epicNumber": "<Enter_Voter_ID_Number>"
}'
Success Response Sample
The following is a sample success response.
{
"status": "success",
"statusCode": "200",
"result": {
"ps_lat_long": <Latitude and Longitute of Polling Station>,
"rln_name_v1": <Relation Name 1>,
"rln_name_v2": <Relation Name 2>,
"rln_name_v3": <Relation Name 3>,
"part_no": <Part Number>,
"rln_type": <Relation Type>,
"section_no": "Section Number",
"id": "ID of VoterId Card",
"epic_no": "EPIC Number",
"rln_name": "Relation Name",
"district": "District",
"last_update": "Last Update Timestamp",
"state": "State",
"ac_no": "",
"house_no": "House Number",
"ps_name": "Polling Station Name",
"pc_name": "",
"slno_inpart": "",
"name": "Name of the User",
"part_name": "",
"dob": "DOB in DD-MM-YYYY Format",
"gender": "Gender of the User",
"age": <Age of User, Number>,
"ac_name": "Account Name",
"name_v1": "",
"st_code": "",
"name_v3": "",
"name_v2": ""
}
}
Failure Response Sample
The following is a sample response when no matching record is found against the input parameters.
{
"status": "failure",
"statusCode": "422",
"error": "Entered id is not found in any database"
}
Error Response Sample
The following are the sample error responses for the API.
- Missing Epic Number
- Blank Input
- Epic Number Too Short
- Epic Number Too Long
- Invalid Input for Epic Number
{
"status": "failure",
"statusCode": "400",
"error": "epicNumber is required"
}
{
"status": "failure",
"statusCode": "400",
"error": "epicNumber is not allowed to be empty"
}
{
"status": "failure",
"statusCode": "400",
"error": "epicNumber length must be at least 6 characters long"
}
{
"status": "failure",
"statusCode": "400",
"error": "epicNumber length must be less than or equal to 13 characters long"
}
{
"status": "failure",
"statusCode": "400",
"error": "epicNumber must only contain alpha-numeric characters"
}
- Invalid Input
- Server Error
- Source Unavailable
- Service Unavailable
{
"status": "failure",
"statusCode": "422",
"error": "Invalid value passed for an input"
}
{
"status": "failure",
"statusCode": "500",
"error": "Unexpected Server Error"
}
{
"status": "failure",
"statusCode": "503",
"error": "Data Source not Available"
}
{
"status": "failure",
"statusCode": "504",
"error": "Govt. database service unavailable"
}
Error Response Details
A failure or error response contains a failure status with a relavant status code and error message.
The following table lists all error responses.
| Status Code | Error Message | Error Description |
|---|---|---|
| 400 | epicNumber is required | The epicNumber is a mandatory input in the request. |
| 400 | epicNumber is not allowed to be empty | The epicNumber in the request contains no value. |
| 400 | epicNumber length must be at least 6 characters long | The epicNumber in the request is too short in length. It should be at least six characters long. |
| 400 | epicNumber length must be less than or equal to 13 characters long | The epicNumber in the request is too long in length. It should not be longer than thirteen characters. |
| 400 | epicNumber must only contain alpha-numeric characters | The epicNumber in the request contains special characters.
It should only contain alpha-numeric characters. |
| 422 | Invalid value passed for an input | The request contains one or more invalid values. Kindly recheck the inputs and retry. |
| 422 | Entered id is not found in any database | There is no matching record found against the Voter ID number used in the request. |
| 500 | Unexpected Server Error | There is an issue with the service. Kindly contact the HyperVerge Team for support. |
| 503 | Data Source not Available | The data source is currently unavailable. Kindly retry the request in some time. |
| 504 | Govt. database service unavailable | The service is currently unavailable. Kindly retry the request in some time. |